#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QTimer>
#include <QDir>
#include <iostream>
#include "grupo.h"
#include "fecho.h"
#include "filehandler.h"
#include "convexhull.h"
#include "jarvis.h"
#include "delaunay.h"
#include "poligono.h"
#include "polifecho.h"
#include "polipontos.h"
#include "poliarestas.h"
#include "circulos.h"
using namespace std;

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

private:
    Ui::MainWindow *ui;
    int metodo_fecho;
    QDir pasta;
    FileHandler fh;
    QList<Grupo> grupos_lidos;
    QStringList listarArquivos();
    void abrirArquivo(QString nome);

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void titulo(QString t);

public slots:
    void rotate();  //Trata os sinais disparados quando o usuario muda os sliders de rotacao.

private slots:
    void on_None_clicked()
    { this->metodo_fecho = 0; }
    void on_Jarvis_clicked()
    { this->metodo_fecho = 1; }
    void on_Graham_clicked()
    { this->metodo_fecho = 2; }
    void on_start_clicked();
    void on_ListaArquivos_currentTextChanged(const QString &currentText);
    void on_Update_clicked();
};

#endif // MAINWINDOW_H
